package com.etooling.framework.utils;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 使用 easyexcel 进行读取Excel文件
 *
 * @author dan
 * @date 2024/5/8 17:23
 */
public class EasyExcelEventListener extends AnalysisEventListener<Map<Integer, String>> {
    // 定义一个List来保存所有行的数据
    private List<Map<Integer, String>> dataList = new ArrayList<>();

    @Override
    public void invoke(Map<Integer, String> rowData, AnalysisContext context) {
        // 处理 rowData，这里的 rowData 是一行的数据，key 是列索引，value 是单元格的值
        // 可以根据实际需要对 rowData 进行处理
        // 例如，将 rowData 添加到 dataList 中
        dataList.add(rowData);
    }


    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {
        // 在所有数据读取完成后的处理逻辑
        // 可以在这里对 dataList 进行进一步处理，比如输出数据、保存数据等
        // 这里只是简单地输出 dataList 的内容
//        System.out.println("All Data:");
//        System.out.println(dataList);
//        System.out.println(dataList.toString());
    }

    // 定义一个方法来获取 dataList
    public List<Map<Integer, String>> getDataList() {
        return dataList;
    }


}
